"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 13、封装，继承，多态.py
"""

# 封装，继承，多态 ：提升系统的可维护性，可扩展性，可重用行

# 封装
class Airplan(object):

    # 构造函数
    def __init__(self,name,color):
        self.name = name
        self.color = color

    def fun(self):
        print(f'型号为{self.name}的颜色是{self.color}')

air1 = Airplan('波音747','灰色')
# 型号为波音747的颜色是灰色
air1.fun()

air2 = Airplan('歼十','中国色')
# 型号为歼十的颜色是中国色
air2.fun()

# 继承：子类继承父类
# 民用机
class CivilAirplan(Airplan):
    # 子类的扩展，父类没有的方法
    def load_person(self,num):
        print(f'{self.name}载人的数量：{num}人')

    # 重构父类方法：父类有和子类相同的方法。
    def fun(self):
        print('修改父类原有的方法')

civi1 = CivilAirplan('南方航空民用机','白色')
civi1.fun()       # 修改父类原有的方法
civi1.load_person(200)  # 南方航空民用机载人的数量：200人

